package com.albert.java_log4j_demo;

import java.util.Arrays;

/**
 * @author 陈晖
 * @version 1.0
 * @date 2021/10/9 15:21
 */
public class codeEncoding {
    public static void main(String[] args) {

        try {
            String str = new String("Aa帅锅");
            //编码操作
            byte[] strByte = str.getBytes("GBK");
            System.out.println(Arrays.toString(strByte));//[65, 97, -53, -89, -71, -8]

            //解码操作
            //注意编码的字符集和解码的字符集格式必须一致（是其扩展字符集也可以），否则会乱码
            //第一种：编码格式为 GBK，解码格式为 ISO-8859-1  那么就会乱码
            String str2 = new String(strByte, "ISO-8859-1");
            System.out.println(str2); //Aa?§??

            //第二种：编码和解码格式一致
            String str4 = new String(strByte, "GBK");
            //或者有另一种方式解码,从位置0开始解码，一直解码到strByte.length
            String str3 = new String(strByte, 0, strByte.length, "GBK");
            System.out.println(str3); //Aa帅锅
        } catch (Exception e) {
            e.printStackTrace();
        }


    }
}
